// package com.fire.modules.api.controller;
//
//import com.baomidou.mybatisplus.plugins.Page;
//import com.fire.common.annotation.AuthIgnoreApi;
//import com.fire.common.utils.BankUtil;
//import com.fire.modules.api.service.TbTokenService;
//import com.fire.modules.api.service.TbUserService;
//import com.fire.common.annotation.LoginUserApi;
//import com.fire.common.utils.Query;
//import com.fire.common.utils.R;
//import com.fire.modules.entity.TbUser;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.data.redis.core.RedisTemplate;
//import org.springframework.web.bind.annotation.RequestBody;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RequestParam;
//import org.springframework.web.bind.annotation.RestController;
//
//import java.lang.reflect.InvocationTargetException;
//import java.util.ArrayList;
//import java.util.List;
//import java.util.Map;
//
///**
// * 普通户用
// */
//@RestController
//@RequestMapping("/api/user")
//public class ApiTbUserController {
//
//    @Autowired
//    private TbUserService tbUserService;
//
//    @Autowired
//    private RedisTemplate<String, String> redisTemplate;
//
//    @Autowired
//    private TbTokenService tokenService;
//
//
//    /**
//     * 查询列表
//     *
//     * @param params
//     * @returnapi
//     */
//    @RequestMapping("/list")
//    public R list(@RequestParam Map<String, Object> params) {
//        //查询列表数据
//        Query query = new Query(params);
//        Page<TbUser> pageUtil = new Page<TbUser>(query.getPage(), query.getLimit());
//        Page<TbUser> page = tbUserService.queryPageList(pageUtil, query);
//        return R.ok().put("page", page);
//    }
//
//    /**
//     * 得到用户信息
//     * @param tbUser
//     * @return
//     */
//    @RequestMapping("/userInfo")
//    public R userInfo(@LoginUserApi TbUser tbUser) {
//        if(tbUser == null){
//            return R.error();
//        }
//        int status = 0;
//        if(tbUser.getPaypassword() == null || tbUser.getPaypassword().equals("")){
//            status = 1;
//        }
//        //过滤敏感数据
//        TbUserNotAllDto tbUserNotAllDto = new TbUserNotAllDto(tbUser);
//        tbUserNotAllDto.setPaypassword_status(status);
//        return R.ok().put("data",tbUserNotAllDto);
//    }
//
//    /**
//     * 添加普通用户
//     *
//     * @return
//     */
//    @RequestMapping("/save")
//    public R save(@RequestBody TbUser tbUser) {
//        tbUserService.insert(tbUser);
//        return R.ok();
//    }
//
//
//    /**
//     * 修改用户信息
//     * @param tbUser
//     * @param user
//     * @return
//     */
//    @RequestMapping("/update")
//    public R update(@LoginUserApi TbUser tbUser,TbUser user) {
//        if(tbUser == null){
//            //设置换回编码为501 需要登录或者登录失效
//            return  R.error(501,"用户登录失效");
//        }
//        if(tbUser.getMobile()!=null && !tbUser.getMobile().equals("")){
//            //允许修改自己的手机号
//            if(!tbUser.getMobile().equals(user.getMobile())){
//                //判断手机号不能重复
//                if(user!=null && user.getMobile()!=null && !user.getMobile().equals("")){
//                    if(tbUserService.queryByMobile(user.getMobile())!=null){
//                        return R.error("手机号已被注册过了");
//                    }
//                }
//            }
//        }
//        user.setUserCode(tbUser.getUserCode());
//        tbUserService.updateByUserCode(user);
//        return R.ok();
//    }
//
//
//    /**
//     * 添加上下级关系
//     * @param tbUser
//     * @param firstUserCode
//     * @return
//     */
//    @RequestMapping("/addFirstUser")
//    public R addFirstUser(@LoginUserApi TbUser tbUser,String firstUserCode){
//        if(tbUser == null){
//            //设置换回编码为501 需要登录或者登录失效
//            return  R.error(501,"用户登录失效");
//        }
//        if(tbUser.getUserCode().equals(firstUserCode)){
//            return  R.error("不能添加自己为下级");
//        }
//        TbUser userBean = new TbUser();
//        userBean.setUserCode(tbUser.getUserCode());
//        userBean.setFirstCode(firstUserCode);
//        tbUserService.updateByUserCode(userBean);
//        return R.ok();
//    }
//
//    /**
//     * 删除普通用户(软删除)
//     *
//     * @param id
//     * @return
//     */
//    public R delete(@RequestParam("id") int id) {
//        tbUserService.deleteById(id);
//        return R.ok();
//    }
//
//    /**
//     * 通过token获取个人资料
//     *
//     * @return
//     */
//    @RequestMapping("/info")
//    public R info(@LoginUserApi TbUser tbUser) throws InvocationTargetException, IllegalAccessException {
////        tbUser = tbUserService.queryByUid(tbUser.getUuid());
////
////        TbToken tbToken = tokenService.queryByUserId((long) tbUser.getUserId());
////        tbUser = tbUserService.foundById(tbToken.getUserId());
////
////        TbUserDto tbUserDto = new TbUserDto();
////        EntityDtoConverter edc = new EntityDtoConverter();
////        tbUserDto = (TbUserDto) edc.entityConvertDto(tbUser, tbUserDto);
////        tbUserDto.setTbToken(tbToken);
////        return R.ok().put("data", tbUserDto);
//        return R.ok();
//    }
//
//    /**
//     * 通过uid获取个人资料
//     *
//     * @return
//     */
//    @RequestMapping("/infouid")
//    public R infoByuid(Integer uid) {
//        TbUser tbUser = tbUserService.queryById(uid);
//        return R.ok().put("data", tbUser);
//    }
//
//    /**
//     * 获取我的团队列表
//     * @return
//     */
//    @RequestMapping("/teamList")
//    public R teamList(@LoginUserApi TbUser tbUser){
//        if(tbUser == null){
//            //设置换回编码为501 登录需要登录或者登录失效
//            return  R.error(501,"用户登录失效");
//        }
//        //当前用户
//        TbUserDto tbUserDto = new TbUserDto();
//        tbUserDto.setTbUser(tbUser);
//        List<TbUserDto> tbUserDtoList = new ArrayList<TbUserDto>();
//        //根据上级编号查询下级 获取下一级成员列表
//        TbUser user = new TbUser();
//        user.setFirstCode(tbUser.getUserCode());
//        //获取二级用户
//        List<TbUser> tbUserList = tbUserService.queryListObject(user);
//        for (int i = 0; i < tbUserList.size(); i++) {
//            //二级用户
//            TbUserDto tbUserDto1 = new TbUserDto();
//            TbUser tbUserBean = tbUserList.get(i);
//            tbUserDto1.setTbUser(tbUserBean);
//            List<TbUserDto> tbUserDtoList1 = new ArrayList<TbUserDto>();
//            //根据上级编号查询下级 获取下一级成员列表
//            TbUser user1 = new TbUser();
//            user1.setFirstCode(tbUserBean.getUserCode());
//            //获取三级用户
//            List<TbUser> tbUserList1 = tbUserService.queryListObject(user1);
//            for (int j = 0; j < tbUserList1.size(); j++) {
//                //三级用户
//                TbUserDto tbUserDto2 = new TbUserDto();
//                tbUserDto2.setTbUser(tbUserList1.get(j));
//                tbUserDtoList1.add(tbUserDto2);
//            }
//            tbUserDto1.setTbUserDtoList(tbUserDtoList1);
//            tbUserDtoList.add(tbUserDto1);
//        }
//        tbUserDto.setTbUserDtoList(tbUserDtoList);
//        return R.ok().put("data", tbUserDto);
//    }
//
//
//    /**
//     * 根据银行卡好获取银行卡名称
//     *
//     * @return
//     */
//    @AuthIgnoreApi
//    @RequestMapping("/getBankName")
//    public R getBankName(String bankNumber) {
//        return R.ok(BankUtil.getNameOfBank(bankNumber));
//    }
//
//}
